package com.fast.admin.domain.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 文件信息参数
 */
@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "文件列表的分页请求对象", description = "")
public class FileInfoQuery extends BaseParam {
    @ApiModelProperty(value = "分类")
    private String categor;

    @ApiModelProperty(value = "文件ID")
    private String fileId;

    @ApiModelProperty(value = "用户ID")
    private String userId;

    @ApiModelProperty(value = "md5值，第一次上传记录")
    private String fileMd5;

    @ApiModelProperty(value = "父级ID")
    private String filePid;

    @ApiModelProperty(value = "文件大小")
    private Long fileSize;

    @ApiModelProperty(value = "文件名称")
    private String fileName;

    @ApiModelProperty(value = "封面")
    private String fileCover;

    @ApiModelProperty(value = "文件路径")
    private String filePath;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String createTimeStart;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String createTimeEnd;

    @ApiModelProperty(value = "最后更新时间 (yyyy-mm-dd hh-mm-ss)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdateTimeStart;

    @ApiModelProperty(value = "最后更新时间 (yyyy-mm-dd hh-mm-ss)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdateTimeEnd;

    @ApiModelProperty(value = "0:文件 1:目录")
    private Integer folderType;

    @ApiModelProperty(value = "1:视频 2:音频  3:图片 4:文档 5:其他")
    private Integer fileCategory;

    @ApiModelProperty(value = "1:视频 2:音频  3:图片 4:pdf 5:doc 6:excel 7:txt 8:code 9:zip 10:其他")
    private Integer fileType;

    @ApiModelProperty(value = "0:转码中 1转码失败 2:转码成功")
    private Integer status;

    @ApiModelProperty(value = "回收站时间 (yyyy-mm-dd hh-mm-ss)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date recoveryTimeStart;

    @ApiModelProperty(value = "回收站时间 (yyyy-mm-dd hh-mm-ss)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date recoveryTimeEnd;

    @ApiModelProperty(value = "删除标记 0:删除  1:回收站  2:正常")
    private Integer delFlag;
    @ApiModelProperty(value = "删除标记 0:删除  1:回收站  2:正常")
    private String[] fileIdArray;
    @ApiModelProperty(value = "删除标记 0:删除  1:回收站  2:正常")
    private String[] filePidArray;
    @ApiModelProperty(value = "删除标记 0:删除  1:回收站  2:正常")
    private String[] excludeFileIdArray;
    @ApiModelProperty(value = "删除标记 0:删除  1:回收站  2:正常")
    private Boolean queryExpire;

    private Boolean queryNickName;
}
